import java.util.Scanner;

public class Test {

    //递归求N的阶乘 递归求和 递归打印数字的每一位 返回的数字之和 递归求斐波那契数列的第N项
    // 递归求解汉诺塔问题  创建的数组并且赋初始值    实现一个方法printArray打印数组
    public static void main1(String[] args) {//递归求 N 的阶乘
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int ret=Fun(n);
        System.out.println(ret);
    }

    public static int Fun(int n) {
        if(n==1)
        {
            return 1;
        }
        else
        {
            return n*Fun(n-1);
        }
    }


    public static void main2(String[] args) {//递归求和
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int ret=Fun1(n);
        System.out.println(ret);
    }

    public static int Fun1(int n) {
        if(n==1)
        {
            return 1;
        }
        else
        {
            return n+Fun1(n-1);
        }
    }

    public static void main3(String[] args) {//递归打印数字的每一位
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        Fun2(n);
    }
    public static void Fun2(int n)
    {
        if(n<=9)
        {
            System.out.println(n);
        }
        else
        {
            Fun2(n/10);
            System.out.println(n%10);
        }
    }


    public static void main4(String[] args) {//返回的数字之和
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int ret=Fun3(n);
        System.out.println(ret);
    }

    public static int Fun3(int n) {
        if(n<=9)
        {
            return n;
        }
        else
        {
            return n%10+Fun3(n/10);
        }
    }

    public static void main5(String[] args) {//递归求斐波那契数列的第 N 项
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int ret=Fun5(n);
        System.out.println(ret);
    }

    public static int Fun5(int n) {
        if(n==1||n==2)
        {
            return 1;
        }
        else
        {
            return Fun5(n-1)+Fun5(n-2);
        }
    }

    public static void main6(String[] args) {//递归求解汉诺塔问题
        hanoi(1,'A','B','C');
        System.out.println();
        hanoi(2,'A','B','C');
        System.out.println();
        hanoi(3,'A','B','C');
    }
    public static void move(char pos1,char pos2) {
        System.out.print(pos1+"->"+pos2+" ");
    }
    public static void hanoi(int n,char pos1,char pos2,char pos3) {
        if(n == 1) {
            move(pos1,pos3);
            return;
        }
        hanoi(n-1,pos1,pos3,pos2);
        move(pos1,pos3);
        hanoi(n-1,pos2,pos1,pos3);
    }


    public static void main7(String[] args) {//创建的数组，并且赋初始值
        int[] arr=new int[100];
        for(int i=0;i<100;i++)
        {
            arr[i]=i+1;
        }
        for(int i=0;i<100;i++)
        {
            System.out.print(arr[i]+" ");
        }
    }


    public static void main(String[] args) {//实现一个方法 printArray打印数组
        int[] arr = new int[100];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = i+1;
        }
        printArray(arr);
    }

    public static void printArray(int[] arr) {
        for(int i=0;i<arr.length;i++)
        {
            System.out.print(arr[i]+" ");
        }
    }
}
